#define _CRT_SECURE_NO_WARNINGS
//#include<iostream>
//#include<cstring>
//
//using namespace std;
//
//const int N = 10010;
//
//int main()
//{
//	string s("We are happy");
//	int length = s.size();
//	for (int i = 0; i < length; i++)
//	{
//		if (s[i] == ' ')
//		{
//			s.erase(i);
//			s.insert(i, 1, '0');
//			s.insert(i, 1, '2');
//			s.insert(i, 1, '%');
//			i += 2;
//			length += 2;
//		}
//	}
//
//	return 0;
//}

#include<stdio.h>

int missingNumber(int* nums, int numsSize)
{
    int flag1 = -2, flag2 = -2;
    for (int i = 0; i < numsSize; i++)
    {
        int index = nums[i];
        while (index != -1)
        {
            if (index != numsSize && index != numsSize - 1)
            {
                int tmp = nums[nums[i]];
                nums[index] = -1;
                index = tmp;
            }
            else if (index == numsSize) {
                nums[]
                flag1 = -3;
                index = -1;
            }
            else {
                flag2 = -3;
                index = -1;
            }
        }
    }

    if (flag1 == -2) return numsSize;
    if (flag2 == -2) return numsSize - 1;
    for (int i = 0; i < numsSize; i++)
        if (nums[i] != -1) return i;

    return 0;
}
int main()
{
    int arr[] = { 9,6,4,2,3,5,7,0,1 };
    missingNumber(arr, 9);
	return 0;
}